package org.jeecg.modules.solitaire_app.app.entity;

import java.io.Serializable;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;

/**
 * @Description: 封车订单表
 * @Author: jeecg-boot
 * @Date: 2023-08-29
 * @Version: V1.0
 */
@Data
@TableName("ysy_seal_car_order")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "ysy_seal_car_order对象", description = "封车订单表")
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class YsySealCarOrder {

    /**
     * id
     */
    @TableId(type = IdType.ID_WORKER_STR)
    @ApiModelProperty(value = "id")
    private String id;
    /**
     * 炼厂地址
     */
    @Excel(name = "炼厂地址", width = 15)
    @ApiModelProperty(value = "炼厂地址")
    private String refineryAddress;
    /**
     * 炼厂经度
     */
    @Excel(name = "炼厂经度", width = 15)
    @ApiModelProperty(value = "炼厂经度")
    private String refineryLat;
    /**
     * 炼厂维度
     */
    @Excel(name = "炼厂维度", width = 15)
    @ApiModelProperty(value = "炼厂维度")
    private String refineryLng;
    /**
     * 炼厂id
     */
    @Excel(name = "炼厂id", width = 15)
    @ApiModelProperty(value = "炼厂id")
    private String refineryId;
    /**
     * 炼厂所在城市
     */
    @Excel(name = "炼厂所在城市", width = 15)
    @ApiModelProperty(value = "炼厂所在城市")
    private String refineryCity;
    /**
     * 车牌号
     */
    @Excel(name = "车牌号", width = 15)
    @ApiModelProperty(value = "车牌号")
    private String carNum;
    /**
     * 司机姓名
     */
    @Excel(name = "司机姓名", width = 15)
    @ApiModelProperty(value = "司机姓名")
    private String driverName;
    /**
     * 司机手机号
     */
    @Excel(name = "司机手机号", width = 15)
    @ApiModelProperty(value = "司机手机号")
    private String driverPhone;
    /**
     * 炼厂名称
     */
    @Excel(name = "炼厂名称", width = 15)
    @ApiModelProperty(value = "炼厂名称")
    private String refineryName;
    /**
     * 状态：0-匹配中，1-已接单，2-赶往炼厂，3-已到达炼厂，4-验罐已提交，5-进出场照片已提交，6-磅单照片已提交，7-物料照片已提交，8-铅封照片已提交，9-油样瓶照片已提交，10-安全交付袋已提交，11-订单已转单,12-用户已确认
     */
    @Excel(name = "状态：0-匹配中，1-已接单，2-赶往炼厂，3-已到达炼厂，4-验罐已提交，5-进出场照片已提交，6-磅单照片已提交，7-物料照片已提交，8-铅封照片已提交，9-油样瓶照片已提交，10-安全交付袋已提交，11-订单已转单,12-用户已确认", width = 15)
    @ApiModelProperty(value = "状态：0-匹配中，1-已接单，2-赶往炼厂，3-已到达炼厂，4-验罐已提交，5-进出场照片已提交，6-磅单照片已提交，7-物料照片已提交，8-铅封照片已提交，9-油样瓶照片已提交，10-安全交付袋已提交，11-订单已转单,12-用户已确认")
    private Integer status;
    /**
     * 创建时间
     */
    @Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**
     * 最后修改时间
     */
    @Excel(name = "最后修改时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "最后修改时间")
    private Date updateTime;
    /**
     * 佣金
     */
    @Excel(name = "佣金", width = 15)
    @ApiModelProperty(value = "佣金")
    private java.math.BigDecimal commission;
    /**
     * 额外金额
     */
    @Excel(name = "额外金额", width = 15)
    @ApiModelProperty(value = "额外金额")
    private java.math.BigDecimal additionalPrice;
    /**
     * 所属用户
     */
    @Excel(name = "所属用户", width = 15)
    @ApiModelProperty(value = "所属用户")
    private String userId;
    /**
     * 接单用户id
     */
    @Excel(name = "接单用户id", width = 15)
    @ApiModelProperty(value = "接单用户id")
    private String incomingUserId;
    /**
     * 接单用户昵称
     */
    @Excel(name = "接单用户昵称", width = 15)
    @ApiModelProperty(value = "接单用户昵称")
    private String incomingUserName;
    /**
     * 接单用户手机号
     */
    @Excel(name = "接单用户手机号", width = 15)
    @ApiModelProperty(value = "接单用户手机号")
    private String incomingUserPhone;
    /**
     * 接单用户头像
     */
    @Excel(name = "接单用户头像", width = 15)
    @ApiModelProperty(value = "接单用户头像")
    private String incomingUserAvatar;
    /**
     * 接单时间
     */
    @Excel(name = "接单时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "接单时间")
    private Date incomingTime;
    /**
     * 炼厂是否有封车人员，1-是，0-否
     */
    @Excel(name = "炼厂是否有封车人员，1-是，0-否", width = 15)
    @ApiModelProperty(value = "炼厂是否有封车人员，1-是，0-否")
    private Integer sealUserFlag;
    /**
     * 是否是转单订单：1-是，0-否
     */
    @Excel(name = "	订单类型：1-派单任务，2-抢单任务，3-转单任务", width = 15)
    @ApiModelProperty(value = "订单类型：1-派单任务，2-抢单任务，3-转单任务")
    private Integer orderType;
    /**
     * 转单人员id
     */
    @Excel(name = "转单人员id", width = 15)
    @ApiModelProperty(value = "转单人员id")
    private String transferUserId;
    /**
     * 转单人员昵称
     */
    @Excel(name = "转单人员昵称", width = 15)
    @ApiModelProperty(value = "转单人员昵称")
    private String transferUserName;
    /**
     * 转单人员手机号
     */
    @Excel(name = "转单人员手机号", width = 15)
    @ApiModelProperty(value = "转单人员手机号")
    private String transferUserPhone;
    /**
     * 转单人员头像
     */
    @Excel(name = "转单人员头像", width = 15)
    @ApiModelProperty(value = "转单人员头像")
    private String transferUserAvatar;
    /**
     * 转单时间
     */
    @Excel(name = "转单时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "转单时间")
    private Date transferTime;
    /**
     * 转单状态：0-等待接单，1-未接单，再次转单，2-已接单
     */
    @Excel(name = "转单状态：0-等待接单，1-未接单，再次转单，2-已接单", width = 15)
    @ApiModelProperty(value = "转单状态：0-等待接单，1-未接单，再次转单，2-已接单")
    private Integer transferStatus;

    @TableField(exist = false)
    @ApiModelProperty(value = "是否超时")
    private transient Integer chaoShiFlag;

    /**所属用户*/
    @Excel(name = "用户昵称", width = 15)
    @ApiModelProperty(value = "用户昵称")
    private String userName;
    /**所属用户*/
    @Excel(name = "用户手机号", width = 15)
    @ApiModelProperty(value = "用户手机号")
    private String userPhone;
}
